home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MACD 5
/
MACD 5.bin
/
workbench
/
boot
/
czesc_2
/
patchos
/
patch2.0.dok
< prev
next >
Wrap
Text File
|
1992-08-04
|
19KB
|
390 lines
PPPPPPP AAAAAA TTTTTTTT CCCCCC HH HH 222222 000000
PP PP AA AA TT CC CC HH HH 22 22 00 00
PP PP AA AA TT CC HH HH 22 00 00
PP PP AA AA TT CC HH HH 22 00 00
PPPPPPP AAAAAAAA TT CC HHHHHHHH 22 00 00
PP AA AA TT CC HH HH 22 00 00
PP AA AA TT CC HH HH 22 ... 00 00
PP AA AA TT CC CC HH HH 22 ... 00 00
PP AA AA TT CCCCCC HH HH 22222222 ... 000000
© Juni 1992 by
Bernstein Zirkel Softworks
c/o Hartmut Stein
Koelner Str. 7
W-5090 Leverkusen 3 - Opladen
West-Germany
1. Eine kurze Einführung
------------------------
Da steht er also nun, Ihr brandneuer A(500+|600|3000|was auch
immer mit OS 2.xx) und er sieht wirklich toll aus! Das neue
3-dimensionale Design der Oberfläche, die völlig überarbeitete
Workbench und Hunderte von neuen fasziniereden
Betriebssystem-Funktionen.
Aber nach einige Stunden Arbeit (Editieren, Kompilieren etc.,
nicht nur Icons auf der Workbench anklicken) stellte sich heraus,
daß sich das ein oder andere doch noch verbessern ließe. Da ich in
den üblichen Maus- und Intuition-Hilfsprogrammen (wie z.B. MachIV
oder all den anderen) keine Abhilfe für meine Probleme finden
konnte, entschloß ich mich, Patch2.0 zu programmieren. Das Programm
erweitert OS 2.04 oder höher um drei neue Features.
2. Menu-Kürzel über die Tastatur
--------------------------------
Bei der ersten neuen Möglichkeit handelt es sich um
Tastatur-Kürzel für Menus. Nun werden Sie vielleicht denken 'Was
erzählt er denn da? Schließlich KANN ich Menu-Kürzel mit der
rechten Amiga-Taste zusammen aufrufen!' Das stimmt schon, aber haben
Sie das jemals probiert wenn ein String-Gadget aktiviert ist? Unter
OS 1.3 war das kein Problem. Leider wurde unter OS 2.0 eines
daraus, da Intuition jetzt - während ein String-Gadget aktiv ist -
alle Menu-Kürzel ignoriert und statt dessen die entsprechende Taste
einfach in den Text des String-Gadgets einsetzt! Offensichtlich
haben sich einige der Commodore-Entwickler schon immer gewünscht,
ihre Texteingaben nur noch zusammen mit der rechten Amiga-Taste
vorzunehmen und sich diesen Traum unter OS 2.0 endlich erfüllt -
anders ist diese sinnlose Änderung wohl nicht zu erklären! Als
Beispiel hier ein kurzer Blick auf den Editor CygnusEd:
Bei der Suche nach Textstücken innerhalb des aktuellen Dokuments
öffnet CygnusEd ein neues Fenster mit einigen Umschalt-Knöpfen
('Großschreibung == Kleinschreibung', ...) und einem String-Gadget,
das bereits aktiviert ist. Auf diese Weise kann der Suchbegriff
direkt eingegeben werden, ohne das Gadget zuerst über die Maus
aktivieren zu müssen. Das Fenster verfügt zusätzlich noch über ein
Menu, in dem unter anderem auch der Punkt 'Schalte Großschreibung ==
Kleinschreibung um' auftaucht, der auch über ein Tastaturkürzel
(Rechte-Amiga-Taste + 'c') verfügt. Es existieren nun also drei
verschiedene Möglichkeiten um die Option 'Großschreibung ==
Kleinschreibung' umzuschalten:
a) Greifen Sie sich Ihre Maus und klicken das entsprechende
Gadget an.
b) Greifen Sie sich Ihre Maus und wählen den entsprechenden
Menupunkt an.
c) Greifen Sie sich Ihre Tastatur und drücken Rechte-Amiga 'c'.
Die letzte Möglichkeit ist natürlich die einfachste, da Sie die
Hände dazu gar nicht erst von der Tastatur entfernen müssen und ohne
Unterbrechung (Maus suchen, Mauszeiger positionieren, Maus weglegen,
Hände zurück zur Tastatur) Ihre Arbeit fortsetzen können -
vorausgesetzt, Sie benutzen OS 1.3! Versuchen Sie diese Aktion
unter OS 2.0, fügt Intuition lediglich ein 'c' in den Suchtext ein!
Hahaha, was für eine lustige Idee Commodore da mal wieder hatte...
Diese Problem taucht nun nicht nur bei CygnusEd auf, sondern bei
praktisch jedem Programm, das String-Gadgets und Menus im selben
Fenster anbietet.
Wenn Patch2.0 installiert wurde, überprüft das Programm alle
Tastatur-Eingaben. Wird nun eine Taste zusammen mit der rechten
Amiga-Taste gedrückt, untersucht das Programm das aktive Fenster.
Falls dieses über ein aktiviertes String-Gadget verfügt sowie über
ein Menu, in dem die entsprechende Taste als Kürzel auftaucht, wird
dem Programm eine Menu-Auswahl vorgetäuscht. Auf diese Weise können
Menu-Kürzel auch unter OS 2.0 wieder im selben Umfang wie unter OS
1.3 verwendet werden.
3. Verwendung von '*' in Mustern
--------------------------------
Unter OS 1.3 verwendete ich die ARP-Shell-Befehle, die das Muster
'*' als Alternative zu '#?' zulassen. Die Mustererkennungs-
Funktionen von OS 2.0 unterstützen den Stern zwar ebenfalls, aber
natürlich ist diese Option defaultmäßig ausgeschaltet und läßt sich
auch nicht über einen der zahlreichen Preferences-Editoren
einschalten.
Patch2.0 gibt Ihnen volle Kontrolle über dieses Muster-Zeichen.
Da der Stern '*' unter AmigaDOS normalerweise als Kürzel für das
aktuelle Shell-Fenster benutzt wird, ist er nicht 100% kompatibel
zum Muster '#?'. Der Befehl 'Copy * RAM:X' z.B. kopiert nicht etwa
alle Dateien des aktuellen Verzeichnisses in das Verzeichnis
'RAM:X', sondern alle im folgenden eingegebenen Textzeilen in die
Datei 'RAM:X'. Dieses Problem taucht jedoch nur auf, wenn Sie den
Stern als kompletten Pfadnamen verwenden. Befehle wie 'Copy
WORK:Data/*' oder 'Copy *.c RAM:X' sind also durchaus möglich - nur
wenn der Stern ganz allein auftaucht, wird er von AmigaDOS anders
interpretiert. In einem solchen Fall können Sie sich ganz einfach
durch einen zweiten Stern behelfen: 'Copy ** RAM:X' funktioniert
wie erwartet!
4. Einfügen von Zeichen über Ihren ASCII-Code
---------------------------------------------
Zum Einbau des dritten Features wurde ich durch MS-DOS angeregt.
Unter diesem Betriebssystem ist es möglich, jedes beliebige
ASCII-Zeichen zu erzeugen, indem dessen ASCII-Code (bei gedrückter
Control-Taste) auf dem numerischen Ziffernblock eingegeben wird.
Patch2.0 untersucht den Eingabestrom nach Tasten des
Ziffernblocks, die zusammen mit der Control-Taste betätigt werden.
Findet es solche Tasten, werden diese in den entsprechenden
ASCII-Code umgewandelt, sobald die Control-Taste wieder freigegeben
wird. Dies ist z.B. sehr sinnvoll, wenn Sonderzeichen eingegeben
werden sollen, die nicht so einfach auf der Tastatur zu finden sind
(wie '©' oder 'ª') oder wenn nach speziellen Codes gesucht werden
soll (wie z.B. dem Code 155, der vom Console-Device als Einleitung
für Kontroll-Sequenzen verwendet wird und daher öfters in Texten
Verwendung findet). Wie oben erwähnt, verwendet CygnusEd (und alle
anderen mir bekannten Editoren) ein String-Gadget zur Eingabe des
Suchbegriffes. Da Sie jedoch den Code 155 nicht über die Tastatur
eingeben können, können Sie auch nicht nach ihm suchen! Mit
Patch2.0 ist das nun kein Problem mehr: Halten Sie die
Control-Taste gedrückt und geben '155' auf dem numerischen
Tastenfeld ein - das ist alles! (Bitte stellen Sie vorher sicher,
daß die Option 'Text gadget filter' im IControl-Preferences-Editor
ausgeschaltet ist).
5. Installation
---------------
Patch2.0 setzt sich aus zwei Teilen zusammen: dem Programm
'Patch2.0' selber, das in jedem beliebigen Verzeichnis untergebracht
werden kann, sowie dem Handler 'Patch2.0Handler', der in das
'L:'-Verzeichnis kopiert werden muß.
Bei Installation von der Workbench aus sollten Sie zuerst das
'InstallHandler'-Icon anklicken, das den Handler in das
entsprechende Verzeichnis Ihrer System-Partition kopiert.
Anschließend sollten Sie 'Patch2.0' selber in das
'WBStartup'-Verzeichnis Ihrer 'WB_2.x'-Disk kopieren, damit es bei
jedem Neustart Ihres Amigas automatisch aktiviert wird. Falls Sie
das Programm irgendwann einmal beenden wollen, genügt es, es einfach
nochmals zu starten.
Bei Installation von der Shell aus sollten Sie den Handler in das
'L:'-Verzeichnis und 'Patch2.0' selber nach 'C:' kopieren, so daß
Sie das Programm immer direkt verfügbar haben. Anschließend sollten
Sie noch eine Zeile in die Datei 'S:Startup-Sequence' einfügen, die
das Programm automatisch bei jedem Neustart lädt. Auf 'Run' oder
'RunBack' können Sie verzichten, da das Programm lediglich den
Handler startet und dann wieder zur Shell zurückkehrt. Soll das
Programm beendet werden, genügt es, es einfach nochmals zu starten.
6. Options
----------
Patch2.0 verfügt über eine Reihe von Optionen, die Sie beim Start
angeben können. Im Normalfall werden Sie diese aber wohl nicht
benötigen, so daß das Programm genauso arbeitet wie oben
beschrieben.
Die Optionen können sowohl beim Start von der Workbench als auch
von der Shell aus verwendet werden. Workbench-Benutzer tragen die
gewünschten Optionen dazu als Tooltypes in das Info-Fenster von
Patch2.0 ein (in Ihrem Workbench-Handbuch finden Sie nähere
Informationen über die Verwendung von Tooltypes). Shell-Benutzer
geben die Optionen (wie üblich durch Leerzeichen getrennt) hinter
dem Namen des Programms in der Kommandozeile an. Wird beim Start
von der Shell als einziges Argument ein Fragezeichen angegeben,
zeigt das Programm Ihnen eine kurze Hilfe mit den einzelnen
Parametern an, der im für Shell-Befehle üblichen Format erscheint
(näheres dazu finden Sie in Ihrem Shell-Handbuch)
On
Installiert Patch2.0.
Off
Entfernt ein vorher gestartetes Patch2.0 wieder. Falls weder 'On'
noch 'Off' angegeben werden, wird der aktuelle Zustand des
Programms invertiert (das bedeutet: falls es geladen war, wird
es entfernt, andernfalls wird es geladen).
Quiet
Normalerweise gibt Patch2.0 beim Start die Meldung 'Patch2.0
installed' aus. Diese Option unterdrückt die Ausgabe.
Usage
Zeigt ein Fenster mit einer kurzen Erklärung aller möglichen
Optionen an (eine ausführlichere Beschreibung finden Sie in
dieser Datei).
MenuOff
Durch Angabe dieser Option wird die Sonderbehandlung von
Menu-Kürzeln durch Patch2.0 unterbunden.
AsciiOff
Schaltet die Eingabe von ASCII-Zeichen über das numerische
Tastenfeld aus.
PatternOff
Die Verwendung des Sterns als Ersatz für das Muster '#?' wird
eingeschaltet durch Setzen eines bestimmten Flags in einer der
Datenstrukturen der Dos-Library (leider existiert keine
entsprechende Library-Funktion dafür). Im Normalfall setzt
Patch2.0 dieses Flag, wenn der Stern verwendet werden soll, und
löscht es, wenn der Stern nicht benutzt werden soll. Falls also
ein anderes Programm dieses Flag verändern möchte, wird seine
Einstellung durch die von Patch2.0 überschrieben. Sollte sich
das als ein Problem erweisen, können Sie durch Angabe dieser
Option bestimmen, daß Patch2.0 dieses Flag nicht verändern darf.
StarOff
Schaltet den Stern '*' als Ersatz für das Muster '#?' aus.
Qualifier=nnn
Bitte geben Sie für 'nnn' eine Dezimalzahl an, die die
Kombination von Qualifier-Tasten (Control, CapsLock, Shift, Alt,
Amiga) beschreibt, mit deren Hilfe Sie ASCII-Zeichen über Ihren
Code eingeben möchten (im Normalfall ist dies die Control-Taste,
Sie können jedoch eine beliebige Kombination bestimmen). Die
Qualifier haben die folgenden zugeordneten Werte:
Linke Shift 1
Rechte Shift 2
Caps Lock 4
Control 8
Linke Alt 16
Rechte Alt 32
Linke Amiga 64
Rechte Amiga 128
Um eine Kombination von Qualifiern zu verwenden, müssen Sie
lediglich die entsprechenden Werte addieren.
Cx_Priority=nnn
Die Dezimalzahl 'nnn' gibt die Priorität für Patch2.0s
Inputhandler an.
Cx_PopUp=yes|no
Geben Sie hier entweder 'yes' oder 'no' an. Im ersten Fall
öffnet Patch2.0 beim Start automatisch sein Commodity-Fenster, wo
Sie alle Einstellungen komfortabel über Gadgets vornehmen können.
7. Einige Beispiele
-------------------
Sie finden im folgenden einige Beispiele zum Start von Patch2.0
über die Shell. Wollen Sie die Beispiele von der Workbench aus
nachvollziehen, tragen Sie dazu jede Option in einen eigenen
Tooltype in Patch2.0s Info-Fenster ein.
Patch2.0 On PatternOff
Startet Patch2.0 (oder gibt eine Fehlermeldung aus, wenn das
Programm bereits läuft). Das DOS-Flag, das die Verwendung des
Sterns in Mustern erlaubt, wird nicht geändert.
Patch2.0 Off
Beendet Patch2.0 (oder erzeugt eine Fehlermeldung, wenn das
Programm gar nicht lief).
Patch2.0 Qualifier=17 CX_Priority=100
Verwendet die Kombination der linken Shift- mit der linken
Alt-Taste zur Eingabe von ASCII-Zeichen über den numerischen
Ziffernblock. Der Inputhandler wird mit der Priorität 100
gestartet.
Patch2.0 On CX_PopUp=Yes
Startet Patch2.0 (falls es noch nicht läuft) und öffnet das
Kontroll-Fenster.
8. Commodities
--------------
Patch2.0 kann über das Programm 'Exchange' der Workbench Disk
gesteuert werden (nähere Informationen dazu finden Sie in Ihrer
Amiga-Dokumentation). Mit Hilfe des 'Show'-Gadgets (oder der Option
'CX_PopUp=yes' beim Start von Patch2.0) können Sie das
Commodity-Fenster von Patch2.0 anfordern, in dem Sie alle
Möglichkeiten des Programms kontrollieren können.
Im oberen der beiden Felder finden Sie vier Gadgets, die mit den
vier weiter oben erklärten '...Off'-Optionen übereinstimmen. Mit
Hilfe dieser Gadgets können Sie also die entsprechenden Features von
Patch2.0 ein- oder ausschalten. Wenn ein Gadget mit einem Häckchen
versehen ist, ist das entsprechende Feature aktiv.
Im unteren Feld können Sie dann festlegen, welche Kombination von
Qualifier-Tasten benutzt werden soll zur Eingabe von ASCII-Zeichen
über das numerische Tastenfeld.
Am Fuß des Fensters finden Sie drei weitere Gadgets: 'Hide'
schließt das Fenster wieder, ohne Patch2.0 aus dem Speicher zu
entfernen, während 'Quit' das Fenster schließt und Patch2.0 beendet.
Der dritte Knopf 'Save to Icon' steht nur zur Verfügung, wenn Sie
das Programm von der Workbench aus gestartet haben. In diesem Fall
können Sie die aktuellen Einstellungen als Tooltypes in Patch2.0s
Icon ablegen, so daß sie automatisch beim nächsten Start des
Programms wieder zur Verfügung stehen. Ein vergleichbarer Service
steht für Shell-Benutzer nicht zur Verfügung - beim Start von der
Shell müssen die Optionen wie gewohnt auf der Kommandozeile
eingegeben werden.
9. Einige Hinweise
------------------
Obwohl ich das Programm schon seit einiger Zeit fehlerfrei
verwende, kann sich natürlich noch jede beliebige Anzahl von
schrecklichen Fehlern darin verbergen. Falls es also Ihre Harddisk
formatiert, Ihren Monitor in tausende von kleinen Stücken
zerspringen läßt oder Ihren Hund verschlingt - bitte machen Sie mich
nicht dafür verantwortlich!
7236 Bytes Disketten-Platz scheinen relativ viel für ein Program
wie Patch2.0 zu sein, doch mehr als die Hälfte davon (4140 Bytes
oder 57%) werden allein für die Verwaltung des Commodity-Fensters
benötigt. Falls Sie dieses nicht verwenden wollen und die kürzere
Version von Patch2.0 installieren möchten, können Sie diese bei mir
bestellen (siehe unten).
Hier noch ein paar Sätze, die sich sehr juristisch für mich
anhören. Sie stammen aus der ReadMe-Datei von Arq, einem sehr sehr
sehr guten und nützlichen Programm. Sorry, Martin, aber wenn Du
Deine Adresse dort angegeben hättest, hätte ich Dir etwas für Deine
Arbeit zukommen lassen. Aber vielleicht findest Du ja Patch2.0
ebenfalls ein wenig nützlich...
10. Juristischer Kram (I'm too sexy ... I mean too lazy to translate it)
------------------------------------------------------------------------
The author will not be liable for any damage arising from the
failure of this program to perform as described, or any destruction
of other programs or data residing on a system attempting to run the
program. While the author knows of no damaging errors, the user of
this program uses it at his or her own risk.
11. Schlußbemerkung
-------------------
Dieser Code und die zugehörige Dokumentation können beliebig
benutzt, kopiert, geändert, an Hunde verfüttert oder sonstwie
mißbraucht werden. Es wäre schön, wenn dieser Text beim Kopieren
nicht entfernt würde, damit auch andere Leute den Sinn des Programms
erfassen können.
Falls Sie irgendwelche Fragen oder Anregungen haben, einen Blick
auf die (ziemlich undokumentierten) Sources werfen wollen, die
kürzere Version bestellen oder mir einfach für dieses wunderbare
kleine Programm danken wollen, sollten Sie mir Geld (oder
vergleichbare Wertgegenstände) schicken, einen frankierten
Rückumschlag (falls Sie eine Antwort von mir möchten) sowie eine
leere Disk (falls Sie die Sources möchten).
Patch2.0 wurde mit dem Aztec C 5.2a Compiler erstellt, sollte
aber mit allen Compilern der Aztec-Serie kompilierbar sein.